/*
 * Вы этом файле хранится инициализация
 */
window.onload = function(){
	var prop = new Properties();
	var game = new Game(prop);
	var ga = new GraphicAdapter(game, document.getElementById("gameSpace"));
	//список дивов
	var msg = {
		help: document.getElementById("helpmsg"),
		start: document.getElementById("startmsg"),
		win: document.getElementById("winmsg"),
		lose: document.getElementById("losemsg")
	}
	//увеличить зум
	document.getElementById("zoomin").onclick = function(){
		ga.zoomPlus();
	}
	//уменьшить зум
	document.getElementById("zoomout").onclick = function(){
		ga.zoomMinus();
	};
	//показать помощь
	document.getElementById("helpbtn").onclick = function(){
		if (msg.help.style.display == "block") { // хак, отсавить как есть
			msg.help.style.display = "none";
			game.playGame();
		}
		else {
			game.pauseGame();
			hideAllMsg();
			msg.help.style.display = "block";
			
		}
	}
	//добавить реакцию на победу и поражение
	game.win = function(){
		game.pauseGame();
		hideAllMsg();
		msg.win.style.display = "block";
	}
	game.lose = function(){
		game.pauseGame();
		hideAllMsg();
		msg.lose.style.display = "block";
	}
	// заполнить lvlselect
	var lvlselect = document.getElementById("lvlselect");
	var i = 0;
	for(var iter in creator){
		lvlselect.options[i] = new Option(iter, iter);
		i++;
	}
	//нажатия на клавишу
	window.onkeydown = function(event){
		switch (event.keyCode) {
			case 38:
				ga.zoomPlus();
				break;
			case 40:
				ga.zoomMinus();
				break;
		}
	}
	
	// создать уровень
	document.getElementById("createbtn").onclick = function(){
		game.pauseGame();
		game.list = [];
		var lvlselect = document.getElementById("lvlselect");
		creator[lvlselect.options[lvlselect.selectedIndex].value](game, prop);
		hideAllMsg();
		document.getElementById("levelname").innerHTML = game.levelname;
		document.getElementById("levelinfo").innerHTML = game.levelinfo;
		msg.start.style.display = "block";
	}
	document.getElementById("startbtn").onclick = function(){
		hideAllMsg();
		game.playGame();
	};
	
	function hideAllMsg(){
		for(var iter in msg) {
			msg[iter].style.display = "none";
		}
	}
}